#ifndef __KERNEL_MEM_H__
#define __KERNEL_MEM_H__

extern void mem_init(void *begin_addr, void *end_addr);

extern void *mem_alloc(size_t size);

extern void mem_free(void *mem);

extern void *mem_realloc(void *ptr, size_t size);

static inline void *malloc(size_t size)
{
    return mem_alloc(size);
}

static inline void free(void *ptr)
{
    mem_free(ptr);
}

static inline void *realloc(void *ptr, size_t size)
{
    return mem_realloc(ptr, size);
}

#endif  /* __KERNEL_MEM_H__ */
